<%--
  Created by IntelliJ IDEA.
  User: TYZ
  Date: 2020/3/3
  Time: 9:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/common/common.jsp" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <div id="toolbar">
        <button type="button" class="btn btn-primary" onclick="addChanel()">增加</button>
    </div>
    <table id="table"></table>
</body>
    <script>
        $(function(){
            $('#table').bootstrapTable({
                url: "<%=path%>/authorController/getInfo",
                method: 'POST',                      //请求方式（*）
                toolbar: '#toolbar',    //工具按钮用哪个容器
                contentType: "application/x-www-form-urlencoded",//设置post请求
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                pagination: true,                   //是否显示分页（*）
                //分页配置 start
                sidePagination:"server",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                pageSize: 5,                     //每页的记录行数（*）
                pageList: [2, 5, 6],        //可供选择的每页的行数（*）
                //分页配置 end
                search: true,                      //是否显示表格搜索
                showColumns: true,                  //是否显示所有的列（选择显示的列）
                showRefresh: true,                  //是否显示刷新按钮
                clickToSelect: true,                //是否启用点击选中行
                showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
                strictSearch: true,					//严格搜索
                //得到查询的参数
                queryParams : function (params) {
                    //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                    var temp = {
                        pageSize: params.limit,                         //每页条数
                        pageNum: (params.offset / params.limit) + 1,
                    };
                    return temp;
                },
                columns: [
                    {
                        checkbox: true,
                        visible: true                  //是否显示复选框
                    },{
                        field: 'authorId',
                        title: 'ID'
                    }, {
                        field: 'firstName',
                        title: '姓'
                    },{
                        field: 'lastName',
                        title: '名'
                    }, {
                        title : '操作',
                        formatter : function(value, row, index) {
                            var authorId = row.authorId;
                            var result = "";
                            result += "<a href='javascript:updateInfo(" + authorId + ")' class='btn btn-xs blue' title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
                            result += "<a href='javascript:deleteInfoById(" + authorId + ")' class='btn btn-xs red' title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
                            return result;
                        }
                    }
                ]
            });
        })

        function getData(){
            $('#table').bootstrapTable("refresh");
        }
        function addChanel(){
            BootstrapDialog.show({
                title: '提示',
                message: $('<div></div>').load('<%=path%>/authorController/toAdd'),
                /* type: BootstrapDialog.TYPE_SUCCESS, */
                /* size: BootstrapDialog.SIZE_SMALL, */
                buttons: [{
                    label: '取消',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        $.ajax({
                            url : "<%=path%>/authorController/add",
                            type : "post",
                            data : $("#addForm").serialize(),
                            dataType : "json",
                            async : false,
                            success : function(result){
                                toastr.success("成功");
                                dialog.close();
                                getData();
                            },
                            error :function(){
                                toastr.error("系统异常,请联系管理员");
                            }
                        })
                    }
                }]
            });
        }
        function updateInfo(authorId){
            BootstrapDialog.show({
                title: '提示',
                message: $('<div></div>').load('<%=path %>/authorController/toUpdate/'+ authorId),
                /* type: BootstrapDialog.TYPE_SUCCESS, */
                /* size: BootstrapDialog.SIZE_SMALL, */
                buttons: [{
                    label: '取消',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        $.ajax({
                            url : "<%=path %>/authorController/update",
                            type : "post",
                            data : $("#updateForm").serialize(),
                            dataType : "json",
                            async : false,
                            success : function(result){
                                dialog.close();
                                toastr.success("成功");
                                getData();
                            },
                            error :function(){
                                toastr.error("系统异常,请联系管理员");
                            }
                        })
                    }
                }]
            });
        }
        function deleteInfoById(authorId){
            $.ajax({
                url:"<%=path %>/authorController/deleteInfoById/" + authorId,
                type:"post",
                dataType:"json",
                async:false,
                success:function(result){
                    if (result == true) {
                        toastr.error("删除成功");
                        getData();
                    }else{
                        toastr.error("删除失败");
                    }
                },
                error:function(result){
                    alert("系统异常,请联系陈龙处理");
                }
            })
        }
    </script>
</html>
